Шаг 3 - Создаем объект DirectInput.

Загрузить проект

Итак, для работы нам нужно создать объект DirectInput. Зависит все от среды разработки.

Visual Basic
Visual C++

Visual Basic

Подключаем библиотеку DirectX

3_1.gif (4168 b)

C этого момента нам станет доступен объект DirectInput

3_2.gif (4655 b)

Дальше идея похожая, создаем объект DirectDraw из него DirectInput а дальше можно вызывать функции, например, показать панель настройки.

Dim objDirectX As DirectX7
Dim dri As DirectInput

Private Sub Command1_Click()
	dri.RunControlPanel (Form1.hWnd)
End Sub

Private Sub Form_Load()
    Set objDirectX = New DirectX7
Set dri = objDirectX.DirectInputCreate
End Sub

По нажатию на кнопку появиться панель управления.

3_3.gif (8973 b)

Visual C++

Подключаем описание интерфейсов и библиотек. Взять их можно из проекта.

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "dinput.h"
#pragma comment(lib,"dinput.lib")

/////////////////////////////////////////////////////////////////////////////
// CDImputDlg dialog

class CDImputDlg : public CDialog
......

Описываем переменную интерфейса

class CDImputDlg : public CDialog
{
// Construction
public:
	CDImputDlg(CWnd* pParent = NULL);	// standard constructor
	IDirectInput*           g_pDI;  
	// Dialog Data
	//{{AFX_DATA(CDImputDlg)
........

При инициализации диалога создаем объект.

BOOL CDImputDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	g_pDI       = NULL;
	HRESULT hr;
	hr = DirectInputCreate(AfxGetApp()->m_hInstance,DIRECTINPUT_VERSION, &g_pDI, NULL );
    	if FAILED(hr) 
   	{ 
	  return FALSE;
   	}

	// Add "About..." menu item to system menu.
	.......
}

По нажатию на кнопку вызываем панель управления.

void CDImputDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
g_pDI->RunControlPanel(this->m_hWnd,0); 
}

А вот и результат.

3_4.gif (8803 b)

Hosted by uCoz